package persistence.dao;

import core.CoreFacade;
import java.io.IOException;public interface IDAOFactory
{
	/** 
	 * Use to retrieve a productsDAO object
	 * @return returns a productsDAO object
	 */
	public IProductsDAO getProductsDAO();
	
	/**
	 * Use to retrieve an itemsDAO object
	 * @return returns an itemsDAO object
	 */
	public IItemsDAO getItemsDAO();
	
	/**
	 * Use to retrieve a productGroupsDAO object
	 * @return returns a new productGroupDAO
	 */
	public IProductGroupsDAO getPGsDAO();
	
	/**
	 * use to retrieve a new storageUnitDAO
	 * @return returns a new storageUnitDAO
	 */
	public IStorageUnitsDAO getSUsDAO();
	
	/**
	 * loads data from file
	 * @return
	 */
	public CoreFacade loadData();
	
	/**
	 * saves the data
	 * @return
	 */
	public boolean saveData() throws IOException;
	
	public IContainerToProductsDAO getContsToProdsDAO();
}
